package com.jic.market.response.rest.lottery;

import com.alibaba.fastjson.JSONObject;
import com.jic.market.response.manager.lottery.LotteryAwardsResponse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 抽奖活动奖品关联表
 * @author : 
 * @email : 
 * @since : 2020-03-03 03:05:46
 * @version : v1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("抽奖活动信息及用户可抽奖次数")
public class LotteryActivityInfoRestResponse implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty("活动状态 1未开始 2已经开始 3已结束")
    private Integer status;

    @ApiModelProperty("可以抽奖次数")
    private Long usableNum;

    @ApiModelProperty("抽奖模板 1：大转盘，2:九宫格，3:刮刮乐")
    private Long type;

    @ApiModelProperty("活动主题类型 如引流型 1 订单型 2")
    private Integer themeType;

    @ApiModelProperty("积分总数")
    private Long pointAmount;

    @ApiModelProperty("积分消耗数量")
    private Long consumeNum;

    @ApiModelProperty("活动开始时间")
    private String startTimeStr;

    @ApiModelProperty("活动开始时间")
    private Date startTime;

    @ApiModelProperty("活动结束时间")
    private String endTimeStr;

    @ApiModelProperty("活动结束时间")
    private Date endTime;

    @ApiModelProperty("最多可用次数")
    private Long amountNum;

    @ApiModelProperty("奖品对象")
    private List<LotteryAwardsRestResponse> awardsList;

    @ApiModelProperty("中奖人对象信息")
    private List<LotteryReceiveDetailVO> receiveList;

    @ApiModelProperty("免积分抽奖次数")
    private Long freeDrawNum;

    @ApiModelProperty("有效订单剩余可抽奖数量")
    private Long effectiveOrderDrawNum;

    @ApiModelProperty("如果是订单抽奖，抽奖节点标识 1:创建订单 2:支付完成 ")
    private Integer orderDrawModel;

    @ApiModelProperty("每个订单抽奖次数")
    private Long drawTimesPerOrder;

    @ApiModelProperty("订单抽奖类型 1：单笔满 X 元  2：每消费满 X 元  3：累计消费满 X 元(仅交易抽奖)")
    private Integer orderDrawType;

    @ApiModelProperty("订单抽奖类型对应金额，实付金额(仅交易抽奖)")
    private BigDecimal orderDrawAmount;

    @ApiModelProperty("抽奖模板配置信息")
    private JSONObject pageDescJson;

    @ApiModelProperty(notes = "活动规则")
    private String activityRule;

    @ApiModelProperty(notes = "投放渠道")
    private String launchChannels;

    @ApiModelProperty(notes = "APP安卓端登录地址")
    private String androidLink;

    @ApiModelProperty(notes = "APP苹果端登录地址")
    private String iosLink;

    @ApiModelProperty(notes = "H5端登录地址")
    private String h5Link;

}